package com.cloud.tsp.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.cloud.api.domain.alarm.AlarmDetail;
import com.cloud.api.domain.alarm.QueryAlarm;
import com.cloud.api.domain.alarm.VehicleAlarm;
import com.cloud.api.domain.report.QueryAlarmReport;
import com.cloud.api.domain.report.QueryAlarms;
import com.cloud.api.domain.report.VehicleAlarmReport;
import com.cloud.api.domain.screen.AlarmList;
import com.cloud.api.domain.screen.RealTimeAlarm;
import com.cloud.api.domain.screen.VehicleBreakdown;
import com.cloud.mybatis.domain.TableDataInfo;
import jakarta.servlet.http.HttpServletResponse;

import java.io.IOException;
import java.util.List;

/**
 * <p>
 * OLAP 服务类
 * </p>
 *
 * @author haohaibo
 * @since 2024-01-23
 */
public interface IVehicleAlarmService extends IService<VehicleAlarm> {

    TableDataInfo<VehicleAlarm> selectVehicleAlarmList(QueryAlarm para);
    AlarmDetail selectVehicleDetail(String id);

    VehicleAlarm selectVehicleAlarmDetail(String id);

    List<VehicleAlarm> selectAlarmListByVin(String id);

    void handleAlarm(VehicleAlarm para);

    void handleAlarmList(List<VehicleAlarm> para);

    void exportVehicleAlarm(QueryAlarm para, HttpServletResponse response) throws IOException;
    void exportVehicleAlarm1(QueryAlarm para, HttpServletResponse response) throws IOException;

    void exportAlarmByVin(String id, HttpServletResponse response) throws IOException;

    List<RealTimeAlarm> getRealAlarm();

    public List<VehicleBreakdown> selectBreakdowns();

    List<AlarmList> getFaultAlarm();

    void exportAlarmList(QueryAlarmReport para, HttpServletResponse response);

    TableDataInfo<VehicleAlarmReport> selectAlarmList(QueryAlarms para);

    void exportMailAlarmReportList();
}